package com.cmc.cloud.cmclink.doc.vo.multimodaltransport.multiblnoop;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class MultiBlnoVslVelReqVO {

    @Schema(description = "运输工具类型（运输工具类型（0：火车（TRAIN）；1：驳船（BARGE）；2：卡车（TRUCK）））", example = "1")
    @Pattern(regexp = "0|1|2", message = "{MultiBlnoOpReqVO.bargeType.pattern}")
    private String bargeType;

    @Schema(description = "装货港")
    @NotBlank(message = "{MultiBlnoOpReqVO.pol.NotBlank}")
    private String pol;

    @Schema(description = "卸货港")
    @NotBlank(message = "{MultiBlnoOpReqVO.pod.NotBlank}")
    private String pod;

    @Schema(description = "装货港出口航次号")
    @Length(max = 10, message = "{MultiBlnoOpReqVO.polExVoy.Length}")
    private String polExVoy;

    @Schema(description = "开始日期")
    @NotBlank(message = "{MultiBlnoOpReqVO.startDate.NotBlank}")
    private String startDate;

    @Schema(description = "结束日期")
    @NotBlank(message = "{MultiBlnoOpReqVO.endDate.NotBlank}")
    private String endDate;

    @Schema(description = "时间类型:ETA,ETB,ETU,ETD", example = "ETA")
    @NotBlank(message = "{MultiBlnoOpReqVO.dateType.NotBlank}")
    private String dateType;
}
